package com.hhsjdesign.dynamicui.asm.v3
/**
 * 扫描带指定注解带类
 *
 */
class ScanSettingV3 {
    static final String PLUGIN_NAME = "hhsjdesign_dynamicui_asm_pluginV3"
    /**
     * The register code is generated into this class
     * com.hhsjdesign.dynamicui.core.DynamicUIConfigImpl 目标类
     * com.hhsjdesign.dynamicui.utils.DynamicUIConfigImplJava
     */
    static final String GENERATE_TO_CLASS_NAME = 'com/hhsjdesign/dynamicui/utils/DynamicUIConfigImplJava'
    /**
     * you know. this is the class file(or entry in jar file) name
     */
    static final String GENERATE_TO_CLASS_FILE_NAME = GENERATE_TO_CLASS_NAME + '.class'
    /**
     * The register code is generated into this method
     */
    static final String GENERATE_TO_METHOD_NAME1 = 'widgetViewTypeList'
    static final String GENERATE_TO_METHOD_NAME2 = 'businessBeanTypeList'
    static final String GENERATE_TO_METHOD_NAME3 = 'widgetDataTypeList'
    static final String GENERATE_TO_METHOD_NAME4 = 'widgetPropertyTypeList'
    static final String GENERATE_TO_METHOD_NAME5 = 'viewHolderTypeList'
    static final String GENERATE_TO_METHOD_NAME6 = 'dataCallerTypeList'
    static final String GENERATE_TO_METHOD_NAME7 = 'widgetItemViewTypeList'

    /**
     * The package name of the class generated by the annotationProcessor
     * com.hhsjdesign.dynamicui.generate.DynamicUIMap__[bus_advert]
     */
    static final String DYNAMICUI_CLASS_PACKAGE_NAME = 'com/hhsjdesign/dynamicui/generate'
    /**
     * The package name of the interfaces
     *
     * //
     * com.hhsjdesign.dynamicui.core
     */
    private static final INTERFACE_PACKAGE_NAME = 'com/hhsjdesign/dynamicui/core/'

    /**
     * scan for classes which implements this interface
     */
    String interfaceName = ''

    /**
     * jar file which contains class: {@link #GENERATE_TO_CLASS_NAME}
     */
    File fileContainsInitClass
    /**
     * scan result for {@link #interfaceName}
     * class names in this list
     */
    HashSet<String> classList = new HashSet<>()

    /**
     * constructor for arouter-auto-register settings
     * @param interfaceName interface to scan
     */
    ScanSettingV3(String interfaceName) {
        this.interfaceName = INTERFACE_PACKAGE_NAME + interfaceName
    }

}
